home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Your Choice 3
/
Your Choice Software Collection 3.iso
/
prgmming
/
fsprite3
/
fsprite3.int
< prev
next >
Wrap
Text File
|
1994-04-28
|
2KB
|
54 lines
{Unit for developing 256 color 320x200 games}
Unit FSPRITE3;
interface
Uses crt,Dos;
Const MaxSpriteMemSize=20000; {Maximum Sprite Sizing}
SpritesCompiled:boolean=false;
FullScreenCopy:boolean=false; {When variable is true copy entire midscreen to act}
TileMode:boolean=false;
ALTKEY=8;
CTRLKEY=4;
LEFTSHIFTKEY=2;
RIGHTSHIFTKEY=1;
CAPSLOCK=64; NUMLOCK =32; SCROLLLOCK=16;
type ColorValue = record RED,GREEN,BLUE: shortint; end;
PaletteType = array [0..255] of ColorValue;
SpriteGrid = Array [0..maxspritememsize] of byte;
SpriteGridPointer = ^SpriteGrid;
Sprite = record
Sx,Sy:byte;
Def:SPRITEGRIDPOINTER;
end;
SpritePointer = ^Sprite;
GraphicScreen = Array[0..203,0..319] of byte;
ScreenPointer = ^GraphicScreen;
OnScreen_Part_Type=record num:word;on:boolean;x:integer;y:integer;end;
OnScreenType=Array[0..100]
of OnScreen_Part_Type;
var XKeyLocation:byte absolute $0040:$0017;
SpriteFileNames:ARRAY[0..200] OF STRING[12];
OS,NumberSpriteDefs:integer;
Sprites:Array[0..200] of SpritePointer;
OnScreen:OnScreenType;
Back,Mid:ScreenPointer;
Act:GraphicScreen absolute $A000:0000;
FKEY:array[0..255] of boolean; {Array for keyboard buffer}
Procedure killbuff;
Procedure startfkey;
Function xkey(LookFor:byte):boolean;
procedure Loadpalette(passname:string; var p:palettetype); {Load straight palette file from disk}
procedure SetVGAPalette(var tp:PaletteType);
procedure ReadVGApalette(var tp: PaletteType); {Puts current value in variable}
procedure SetGraph; Inline($B8/$13/0/$CD/$10);
procedure ReadSprites(FName:String); {Read sprites from master data file}
procedure Compile; {Compile sprites for speed}
procedure Show; {Redisplay sprites}
Procedure Cursor_On; {Turns text cursor on}
Procedure Cursor_Off; {Turns text cursor off}